查看原文
其他

论文盘点:基于图卷积GNN的多目标跟踪算法解析

黄飘 PaperWeekly 2022-03-17

©PaperWeekly 原创 · 作者|黄飘

学校|华中科技大学硕士

研究方向|多目标跟踪


随着这两年 GNN 的发展,其对于关系的建模特性也被引入了多目标跟踪领域,这次我通过对这两年基于 GNN 的 MOT 算法的介绍来分析其特点。相关 MOT 和数据关联的基础知识可以去我的专栏查看。

EDA_GNN

论文标题: Graph Neural Based End-to-end Data Association Framework for Online Multiple-Object Tracking

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/1907.05315

代码链接:https://github.com/peizhaoli05/EDA_GNN



从算法的示意图可以看到,作者通过一个孪生网络求得了观测目标 j 与当前目标轨迹 i 的表观相似度,然后取目标轨迹的历史位置为输入,通过 LSTM 得到预测的位置,计算该位置与观测目标位置的运动相似度,两个相似度结合构建相似度矩阵。

至此,所有目标轨迹与观测目标的相似度构成了一个二部图,以目标和观测信息作为节点,相似度作为边权,表观特征和位置信息拼接作为节点属性特征。

然后基于消息传递机制,作者通过 GNN 的网络框架实现对节点特征的更新:


邻接矩阵的 normalization 采用的是 row-wise softmax,即对相似度矩阵进行逐行 softmax,可以用注意力的方式来理解,W 为待学习的权重。最后通过一个激活函数 ReLU 实现特征的更新。对于边权关系的更新则是简单地利用 MLP 将两个节点特征的差转换为标量。

在训练的时候,损失函数由三部分组成:




其中第一部分是预测得到的关联矩阵的分类损失,第二部分则是将 groundtruth 中的关联对取出,计算分类损失,第三部分是将新出/消失的目标单独取出,计算 MSE 损失。


DAN

论文标题:Deep association: End-to-end graph-based learning for multiple object tracking with conv-graph neural network

论文来源:ICMR 2019

论文链接:https://dl.acm.org/doi/pdf/10.1145/3323873.3325010


这里的 DAN 并非我之前提过的 DAN,其整体流程跟 EDA_GNN 基本一样:


都是先提取表观和运动特征,由此构建网络图,通过 GNN 得到最终的关联矩阵。首先相似度矩阵怎这里用的是 IOU 信息:


IOU 后面的部分是帧间差,如果目标存在跨帧链接,那么间隔越久,相似度越低。不过 DAN 与 EDA_GNN 不同的是,并没有将图结构构建为二部图,而是将跟踪节点和观测节点统一为节点集合,因此邻接矩阵/相似度矩阵就变成了 (m+n)x(m+N),这就是最基础的 GNN 网络结构了。所以节点特征的更新就是:

邻接矩阵的更新为:

损失函数为 Graph Loss,即对正负链接边权的交叉熵损失函数:


结果如下:


GNMOT

论文标题:Graph Networks for Multiple Object Tracking

论文来源:WACV 2020

论文链接:http://openaccess.thecvf.com/content_WACV_2020/papers/Li_Graph_Networks_for_Multiple_Object_Tracking_WACV_2020_paper.pdf

代码链接:https://github.com/yinizhizhu/GNMOT


首先我们看看算法流程:

可以看到,GNMOT 的不同在于表观和运动部分分别采用了 GNN 网络,二者结合得到的是相似度矩阵,由此输入数据关联部分。关于 GNN 网络的更新流程,作者设计了 4 步:


其中第一次边和节点的更新都是通过两层 FC 进行更新的。第三次的全局更新这里,作者引入了一个全局变量 u,先计算所有节点的特征均值和边权均值,再通过两层 FC 进行更新。这里的 u 会在出现在所有更新过程中,作为一个调节量。



最后一次的边权更新则是在两层 FC 之后再加了一层 softmax 层。


MPN Tracker

论文标题:Learning a Neural Solver for Multiple Object Tracking

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/1912.07515

代码链接:https://github.com/selflein/GraphNN-Multi-Object-Tracking


我之前也介绍过这篇文章,但是之前不懂 GNN,所以只能做搬运工,现在学习了 GNN,所以就再次分析一下。首先是图的构建,图节点由所有帧的所有目标构成,直接将观测信息作为节点,没有跟踪,只有关联。

节点属性特征由训练得到的表观特征和几何特征构成,其中几何特征为位置和形状。并且定义表观特征距离用欧氏距离度量,几何特征距离用下面的公式度量:


时间特征自然就是帧数,这几个特征通过一个 MLP 网络得到最终的特征表达。

边的连接自然就是跨帧节点存在连接,而同一帧节点不存在连接,边权的设定就是上面的距离度量。也就是说,这相当于一个端到端的离线跟踪框架。


消息传递机制中,对于边权的更新和节点的更新方式如下:


其中对于边的更新就是由节点特征和原始边权通过 MLP 过程更新的。对于节点的更新,由于一个节点连接有多条边,所以需要进行聚合,聚合方式可以求和、取平均,还可以是取最大值。而更新的代数 L 自然也就决定了图卷积网络的感受野,当 L 越大时,与之相关的节点在时间跨度上越大。


上面这个图从左往右是不同时间帧的节点,这里举的例子是一个相邻三帧的节点连接。原始的更新机制中,对于节点的更新会将周围边的影响通过求和的方式聚合。而这里作者考虑了时间因素,将时间分为了过去和未来两个部分:




然后通过拼接的方式聚合,最后利用 MLP 结构实现特征降维。

可以看下消息传递代数的影响:


我们发现在 3 代的时候就已经达到了性能上限,不过为了保证鲁棒性,作者还是选了 12.


不得不说离线的方法在 IDF1 指标上的表现很好:

PS:大家可能对于第一张图中的 Edge Classification 有疑惑,即如何实现的边的稀疏化。这里由于每条边权都经过了一个 sigmoid 层,因此作者直接利用固定阈值 0.5 进行了裁剪。


GNN3DMOT

论文标题:Graph Neural Network for 3D Multi-Object Tracking with Multi-Feature Learning

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/2006.07327

代码链接:https://github.com/xinshuoweng/GNN3DMOT


从这篇开始,接下来的全是这个组的文章。这篇文章所涉及的算法框架很完整,值得一读:


算法流程通过这张图可以很容易得到,运动特征是通过 LSTM 网络回归得到的,表观特征是通过 CNN 网络得到的,二者相拼接。其中 3D 部分的输入则是点云信息和 3D 位置信息,o 表示物体,d 表示检测。将 2D 和 3D 特征拼接/相加得到每个节点的特征。而节点自然就是上一帧存在的目标和当前帧的观测。

对于边权/相似度矩阵的确定,作者尝试了三种方式,余弦距离、欧氏距离还有网络回归,即上图中的 Edge Regression:


当然这个也是边权更新的机制,而对于节点 消息传递机制,作者也设计了四种:


方法很明了,我就不细讲了,可以看到聚合方式都是求和。另外由算法框架示意图可知,每次消息传递都会计算关联矩阵的损失,那么为什么会采用 batch triplet loss呢?


作者把关联矩阵中的每条边权看作了 N 对匹配,三元组损失中,首先选取相邻帧中的一对连接 i,j,然后分别选取不同 id 的两帧节点 r,s,计算上述损失。即要保证不同帧间不同 id 身份的边权的最小距离越大越好。而对于相似度损失,则是采用了两种交叉熵损失:




效果如下:


可以看到利用网络回归的方式得到的相似度度量方式要比余弦距离和欧氏距离好, 2D 和 3D 特征融合的方式更优,结合了关联矩阵和节点差异的聚合方式,即 Table7 中的 type4 更优。


GNNTrkForecast

论文标题:Joint 3D Tracking and Forecasting with Graph Neural Network and Diversity Sampling

论文链接:https://arxiv.org/abs/2003.07847

代码链接:https://github.com/xinshuoweng/GNNTrkForecast



这篇论文里面,作者通过 GNN 将 3D MOT 和轨迹预测结合在一起了。其中对于 GNN 网络的构建以及关联矩阵的获取跟之前的论文几乎一致,具体我们就不介绍了:


那么 3D MOT 分支实际上就是 GNN 模型中的一部分,是根据 GNN 的边权矩阵进行数据关联:


而对于轨迹预测分支,作者基于条件自编码器的形式,设计的流程图如下,由于这块我不熟悉,所以我就不细讲了。

效果如下:



JDMOT_GNN


论文标题:Joint Detection and Multi-Object Tracking with Graph Neural Networks

论文链接:https://arxiv.org/abs/2006.13164


也许是看到最近联合检测和跟踪的框架很热门,作者团队又给加入了 GNN 模块,所以我们简单提一下:


最开始的表观和运动特征部分就不提了,一个是 LSTM/MLP 回归,一个是 Darknet53 回归得到的。图的构建依旧是以检测框和目标作为节点,节点特征的更新则是:


这里面要注意的是两个 head,其中检测 head 的是根据各节点特征利用 MLP 降维得到用于分类和回归的特征。而数据关联 head 则是边权,它的确定是依据节点特征的差异,通过三层全连接得到的:


最终效果如下:


可以看到单纯用 GNN 做数据关联的提升并不大,当然,这里并没有做消融实验,也不能妄下评论。



参考文献


[1] Jiang X, Li P, Li Y, et al. Graph Neural Based End-to-end Data Association Framework for Online Multiple-Object Tracking[J]. arXiv preprint arXiv:1907.05315, 2019.
[2] Ma C, Li Y, Yang F, et al. Deep association: End-to-end graph-based learning for multiple object tracking with conv-graph neural network[C]//Proceedings of the 2019 on International Conference on Multimedia Retrieval. 2019: 253-261.
[3] Jiahe L, Xu G, Tingting J.Graph Networks for Multiple Object Trackin[C]//The IEEE Winter Conference on Applications of Computer Vision (WACV).2020.
[4] Brasó G, Leal-Taixé L. Learning a neural solver for multiple object tracking[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 6247-6257.
[5] Weng X, Wang Y, Man Y, et al. GNN3DMOT: Graph Neural Network for 3D Multi-Object Tracking with Multi-Feature Learning[J]. arXiv preprint arXiv:2006.07327, 2020.
[6] Weng X, Yuan Y, Kitani K. Joint 3d tracking and forecasting with graph neural network and diversity sampling[J]. arXiv preprint arXiv:2003.07847, 2020.
[7] Wang Y, Weng X, Kitani K. Joint Detection and Multi-Object Tracking with Graph Neural Networks[J]. arXiv preprint arXiv:2006.13164, 2020.


更多阅读





#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存